﻿<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type='text/css'>
<!--
body {
/*  margin: 0px 0px 0px 0px;*/
  background:#fff;
/*  text-align:center;*/
  font:small Verdana, Arial, Sans-serif;
  color:#333333;
  font-size:/small;
}

a:link {
  color:#448888;
  }
a:visited {
  color:#888855;
  }
a:hover {
  color:#888855;
  }
a img {
  border-width:0;
  }
-->
</style>
<TITLE>vdr file format description</TITLE>
</HEAD>
<BODY>
<h3 align="center">
VDRファイルフォーマット解説<BR>
第100225版
</h3>

<p align="center">
<img src="tapot_in_cube1.png" width="320" height="240" border="0">
</p>

<P>　vidroでは拡張子がVDRのオリジナルフォーマットで記述されたシーンファイル（中身はテキスト形式）を読み込んでレンダリングを行います。また、MQO, OBJ, LWO, 3DS, DXF, FBX, COLLADA形式を直接読み込んでレンダリングすることもできます。シーンファイルを用いない場合、適当に作られた天球光源の中に物体が置かれます。マテリアルはオブジェクトファイル内にデータがあればそのマテリアルが使われますが、同名のマテリアルがVDRシーンファイルに記述されていた場合、そちらが優先して使われます。マテリアルの記述が一切無いならば反射率0.5の拡散反射体として読み込まれます。複雑な照明やマテリアルを使いたい場合はVDRシーンファイルを用いる必要があります。以下ではvidroで扱うVDRファイルについて解説していきます。</P>

<P><B>●オブジェクトファイル</B></P>
<P>　vidroで扱う物体はFBX, MQO, 3DS, LWO, OBJ, DXF, COLLADAファイルから読み込みます(COLLADAは仮対応)。これらのファイルを開いたとき、読み込む項目は以下になります。</P>


<p align="center">
<b>ジオメトリ</b>
<TABLE border=0 bgcolor="#808080" cellspacing=1 cellpadding=5>
  <TBODY>
    <TR align="center" bgcolor="#FFFFFF">
	<TD></TD>
	<TD>形状</TD>
	<TD>UV</TD>
	<TD>スムージング</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>FBX</TD>
	<TD>Mesh, Nurb, Patch</TD>
	<TD>○</TD>
	<TD>○</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>MQO</TD>
	<TD>3角形, 4角形, バイナリ頂点<BR>(要片面化・フリーズ)</TD>
	<TD>○</TD>
	<TD>○</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>3DS</TD>
	<TD>キーフレーム情報は未対応</TD>
	<TD>○</TD>
	<TD>○</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>LWO</TD>
	<TD>FACE, PTCH</TD>
	<TD>○</TD>
	<TD>○</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>OBJ</TD>
	<TD>f</TD>
	<TD>○</TD>
	<TD>○</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>DXF</TD>
	<TD>3DFACE</TD>
	<TD>×</TD>
	<TD>×</TD>
    </TR>
  </TBODY>
</TABLE>
</p>

<p align="center">
<b>眼</b>
<TABLE border=0 bgcolor="#808080" cellspacing=1 cellpadding=5>
  <TBODY>
    <TR align="center" bgcolor="#FFFFFF">
	<TD></TD>
	<TD>Position</TD>
	<TD>Focus</TD>
	<TD>Upside</TD>
	<TD>Focal Length</TD>
	<TD>Clip</TD>
	<TD>平行投影</TD>
	<TD>DOF</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>FBX</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>MQO</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>×</TD>
	<TD>○</TD>
	<TD>×</TD>
	<TD>○</TD>
	<TD>×</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>3DS</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>×</TD>
	<TD>×</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>LWO</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>OBJ</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>DXF</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
    </TR>
  </TBODY>
</TABLE>
</p>

<p align="center">
<b>マテリアル</b>
<TABLE border=0 bgcolor="#808080" cellspacing=1 cellpadding=5>
  <TBODY>
    <TR align="center" bgcolor="#FFFFFF">
	<TD rowspan=2></TD>
	<TD colspan="2">Emission</TD>
	<TD colspan="2">Diffuse</TD>
	<TD colspan="4">Specular</TD>
	<TD colspan="3">Reflection</TD>
	<TD colspan="3">Transparency</TD>
	<TD colspan="3">Normal Map</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD><font size="-1">Weight</font></TD>
	<TD><font size="-1">Texture</font></TD>
	<TD><font size="-1">Weight</font></TD>
	<TD><font size="-1">Texture</font></TD>
	<TD><font size="-1">Weight</font></TD>
	<TD><font size="-1">Texture</font></TD>
	<TD><font size="-1">Reflectance</font></TD>
	<TD><font size="-1">Exponent</font></TD>
	<TD><font size="-1">Weight</font></TD>
	<TD><font size="-1">Texture</font></TD>
	<TD><font size="-1">IOR</font></TD>
	<TD><font size="-1">Weight</font></TD>
	<TD><font size="-1">Texture</font></TD>
	<TD><font size="-1">IOR</font></TD>
	<TD><font size="-1"></font></TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>FBX</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>×</TD>
	<TD>○</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>MQO</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>×</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>×</TD>
	<TD>×</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>3DS</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>×</TD>
	<TD>×</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>LWO</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>○</TD>
	<TD>×</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>OBJ</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>△</TD>
	<TD>△</TD>
	<TD>△</TD>
	<TD>○</TD>
	<TD>×</TD>
    </TR>
    <TR align="center" bgcolor="#FFFFFF">
	<TD>DXF</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>△</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
	<TD>×</TD>
    </TR>
  </TBODY>
</TABLE>
</p>


</P>
<P><B>●画像ファイル</B></P>
<P>　vidroでは物体、光源、絞りなど様々なものに画像をマッピング出来ます。対応している画像フォーマットは以下になります。</P>

<BLOCKQUOTE>
HDRI
<ul>
<li>PFM (Portable float Map)</li>
<li>TIFF (32bit Floating Point TIFF)</li>
<li>EXR (OpenEXR)</li>
<li>HDR (Radiance HDR)</li>
</ul>
LDRI
<ul>
<li>PNG</li>
<li>BMP</li>
<li>TIFF</li>
<li>JPEG</li>
<li>GIF</li>
<li>EMF</li>
<li>WMF</li>
<li>ICO</li>
<ul>
</BLOCKQUOTE>

<P>　法線マップ以外のLDRI(PNG, BMP, TIFF, JPEG, GIF, WMF, EMF, ICO)はガンマ値2.2で補正して読込を行います。マッピングは物体にはUVマッピングを、平行光源・レンズには平面マッピングを、点光源・天球光源には球状の緯度経度マッピングを行います。</P>

<P><B>●VDRシーンファイル</B></P>

<p>
　シーンファイルの拡張子は.vdrですが、中身はテキストによって記述されます。ファイル内の空行は無視されます。大文字・小文字は区別しません。単語はスペース又はタブで区切られます。ファイル名やマテリアル名などの文字列はダブルクォーテーションで囲みます。<BR>
　シーンデータファイルに記述する項目はまず１行目に&quot;vidro******&quot;（******はバージョン番号）を記述します。この文字列がない場合、シーンデータファイルとして読込を行いません。それ以後は&quot;new&lt;データチャンク名&gt;&quot;キーワードでデータチャンクを記述していきます。newキーワードで記述できるデータチャンクはMaterial, Space, Volume, PointLight, ParallelLight, Eye, Objectです。チャンクは階層構造になっており、SpaceはVolumeとObjectを子に持ち、VolumeはPointLight, ParallelLight, Eyeを子に持ちます。<br>
　vidroのシーンの構造について述べます。シーンはまず"Space"を持ちます。"Space"は1つの3次元空間であり、この空間内は幾つかの"Volume"によって分割されます。"Volume"はパーティシペイティングメディアや光源等に関する情報を管理する単位で、"Volume"同士の境界面はポリゴンオブジェクトによって定義されます。ポリゴンオブジェクトは"Object"によって定義され、"Material"で定義した材質情報が割り当てられます。"Space"は複数定義することも可能です。
</p>


<P>＜例＞</P>
<BLOCKQUOTE>
<PRE>vidro100225

new Material "<i>name</i>"
 ･･･････

new Space "<i>name</i>"

  new Volume "<i>name</i>"
   ･･･････

    new PointLight "<i>name</i>"
     ･･･････

    new ParallelLight "<i>name</i>"
     ･･･････

    new Eye "<i>name</i>"
     ･･･････

  new Object "<i>name</i>"
   ･･･････</PRE>
</BLOCKQUOTE>

<P> "<i>name</i>"に各チャンクの名前を記述し、･･･････の部分に各チャンクのパラメータを記述していきます。指定できるパラメータは以下の項目があります。</P>

<P>
&diams;<A href="#Material">Material</A>

<ul>
	<li><A href="#Material_Volume">Volume</A>&nbsp;&nbsp;- オブジェクトの表裏に関連付けるボリューム</li>
	<li><A href="#Material_IOR">IOR</A>&nbsp;&nbsp;- オブジェクトの表裏の絶対屈折率</li>
	<li><A href="#Material_Transparency">Transparency</A>&nbsp;&nbsp;- 透過の重み</li>
	<li><A href="#Material_Reflection">Reflection</A>&nbsp;&nbsp;- 完全鏡面反射の重み</li>
	<li><A href="#Material_Specular">Specular</A>&nbsp;&nbsp;- 荒い鏡面反射の重み</li>
	<li><A href="#Material_Diffuse">Diffuse</A>&nbsp;&nbsp;- 拡散反射の重み</li>
	<li><A href="#Material_Emission">Emission</A>&nbsp;&nbsp;- 発光放射輝度</li>
	<li><A href="#Material_ReflectionIOR">ReflectionIOR</A>&nbsp;&nbsp;- 完全鏡面反射の相対屈折率</li>
	<li><A href="#Material_SpecularReflectance">SpecularReflectance</A>&nbsp;&nbsp;- 荒い鏡面反射における垂直入射の反射率</li>
	<li><A href="#Material_Exponent">Exponent</A>&nbsp;&nbsp;- 荒い鏡面反射の滑らかさ</li>
	<li><A href="#Material_Axis">Axis</A>&nbsp;&nbsp;- 異方性の軸</li>
	<li><A href="#Material_Jump">Jump</A>&nbsp;&nbsp;- 透過側の空間を別の空間に繋げる</li>
	<li><A href="#Material_Normal">Normal</A>&nbsp;&nbsp;- 法線マップ</li>
	<li><A href="#Material_ViewToneMin">ViewToneMin</A>&nbsp;&nbsp;- 変換する輝度の最小値(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_ViewToneMax">ViewToneMax</A>&nbsp;&nbsp;- 変換する輝度の最大値(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_ViewTone">ViewTone</A>&nbsp;&nbsp;- グラデーションを用いた輝度の変換(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_LightingToneMin">LightingToneMin</A>&nbsp;&nbsp;- 変換する入射輝度の最小値(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_LightingToneMax">LightingToneMax</A>&nbsp;&nbsp;- 変換する入射輝度の最大値(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_LightingTone">LightingTone</A>&nbsp;&nbsp;- グラデーションを用いた入射輝度の変換(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_ContourColor">ContourColor</A>&nbsp;&nbsp;- 輪郭線の色(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_ContourGroup">ContourGroup</A>&nbsp;&nbsp;- 輪郭線のグループID(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_Boundary">Boundary</A>&nbsp;&nbsp;- マテリアル境界線の濃さ(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_Crease">Crease</A>&nbsp;&nbsp;- クリース線の濃さ(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Material_Background">Background</A>&nbsp;&nbsp;- 背景の合成</li>
</ul>
</P>


<P>
&diams;<A href="#Space">Space</A>
</P>

<blockquote>
<P>
&diams;<A href="#Volume">Volume</A>
<ul>
	<li><A href="#Volume_SkyLight">SkyLight</A>&nbsp;&nbsp;- 天球光源</li>
	<li><A href="#Volume_ViewToneMin">ViewToneMin</A>&nbsp;&nbsp;- 変換する輝度の最小値(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Volume_ViewToneMax">ViewToneMax</A>&nbsp;&nbsp;- 変換する輝度の最大値(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Volume_ViewTone">ViewTone</A>&nbsp;&nbsp;- グラデーションを用いた輝度の変換(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Volume_ContourColor">ContourColor</A>&nbsp;&nbsp;- 輪郭線の色(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Volume_ContourGroup">ContourGroup</A>&nbsp;&nbsp;- 輪郭線のグループID(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Volume_Boundary">Boundary</A>&nbsp;&nbsp;- マテリアル境界線の濃さ(ノンフォトリアリスティックレンダリング用)</li>
	<li><A href="#Volume_Background">Background</A>&nbsp;&nbsp;- 背景の合成</li>
	<li><A href="#Volume_Anisotropy">Anisotropy</A>&nbsp;&nbsp;- 位相関数の異方性</li>
	<li><A href="#Volume_HomogeneousExtinction">HomogeneousExtinction</A>&nbsp;&nbsp;- ボリューム全域の均質な消滅係数</li>
	<li><A href="#Volume_HomogeneousAlbedo">HomogeneousAlbedo</A>&nbsp;&nbsp;- ボリューム全域の均質な散乱アルベド</li>
	<li><A href="#Volume_Extinction">Extinction</A>&nbsp;&nbsp;- 局所的で不均質な消滅係数</li>
	<li><A href="#Volume_Albedo">Albedo</A>&nbsp;&nbsp;- 局所的で不均質な散乱アルベド</li>
	<li><A href="#Volume_Origin">Origin</A>&nbsp;&nbsp;- 局所的で不均質なパーティシペイティングメディアの原点</li>
	<li><A href="#Volume_Size">Size</A>&nbsp;&nbsp;- 局所的で不均質なパーティシペイティングメディアのバウンディングボックスのサイズ</li>
</ul>
</P>

<blockquote>
<p>
&diams;<a href="#PointLight">PointLight</a>
<ul>
	<li><A href="#PointLight_Intensity">Intensity</A>&nbsp;&nbsp;- 放射強度</li>
	<li><A href="#PointLight_Position">Position</A>&nbsp;&nbsp;- 位置</li>
	<li><A href="#PointLight_X">X</A>&nbsp;&nbsp;- X軸ベクトル</li>
	<li><A href="#PointLight_Y">Y</A>&nbsp;&nbsp;- Y軸ベクトル</li>
	<li><A href="#PointLight_Z">Z</A>&nbsp;&nbsp;- Z軸ベクトル</li>
</ul>
</p>
</blockquote>


<blockquote>
<p>
&diams;<a href="#ParallelLight">ParallelLight</a>
<ul>
	<li><A href="#ParallelLight_Emission">Emission</A>&nbsp;&nbsp;- 放射発散度を円周率で割った値</li>
	<li><A href="#ParallelLight_Direction">Direction</A>&nbsp;&nbsp;- 入射方向ベクトル</li>
	<li><A href="#ParallelLight_Position">Position</A>&nbsp;&nbsp;- 入射位置</li>
	<li><A href="#ParallelLight_Upside">Upside</A>&nbsp;&nbsp;- 上方向ベクトル</li>
	<li><A href="#ParallelLight_Size">Size</A>&nbsp;&nbsp;- 入射領域の大きさ</li>
</ul>
</p>
</blockquote>

<blockquote>
<p>
&diams;<a href="#Eye">Eye</a>
<ul>
	<li><A href="#Eye_Position">Position</A>&nbsp;&nbsp;- 視点座標</li>
	<li><A href="#Eye_Focus">Focus</A>&nbsp;&nbsp;- 注視点</li>
	<li><A href="#Eye_Upside">Upside</A>&nbsp;&nbsp;- 上方向ベクトル</li>
	<li><A href="#Eye_Clip">Clip</A>&nbsp;&nbsp;- クリッピング距離</li>
	<li><A href="#Eye_FilmSize">FilmSize</A>&nbsp;&nbsp;- 投影面の高さ</li>
	<li><A href="#Eye_FocalLength">FocalLength</A>&nbsp;&nbsp;- 焦点距離</li>
	<li><A href="#Eye_FocalRatio">FocalRatio</A>&nbsp;&nbsp;- F値</li>
	<li><A href="#Eye_Bokeh">Bokeh</A>&nbsp;&nbsp;- ボケ像</li>
	<li><A href="#Eye_Distortion">Distortion</A>&nbsp;&nbsp;- 歪曲</li>
	<li><A href="#Eye_LensTilt">LensTilt</A>&nbsp;&nbsp;- レンズの傾き</li>
	<li><A href="#Eye_FilmTilt">FilmTilt</A>&nbsp;&nbsp;- 投影面の傾き</li>
	<li><A href="#Eye_Oblique">Oblique</A>&nbsp;&nbsp;- 斜投影の強さ</li>
	<li><A href="#Eye_Shift">Shift</A>&nbsp;&nbsp;- 画面の移動量</li>
</ul>
</p>
</blockquote>

<p>
&diams;<a href="#Object">Object</a>
<ul>
	<li><A href="#Object_File">File</A>&nbsp;&nbsp;- オブジェクトファイル名</li>
	<li><A href="#Object_Material">Material</A>&nbsp;&nbsp;- デフォルトマテリアル</li>
	<li><A href="#Object_Position">Position</A>&nbsp;&nbsp;- 位置</li>
	<li><A href="#Object_X">X</A>&nbsp;&nbsp;- X軸ベクトル</li>
	<li><A href="#Object_Y">Y</A>&nbsp;&nbsp;- Y軸ベクトル</li>
	<li><A href="#Object_Z">Z</A>&nbsp;&nbsp;- Z軸ベクトル</li>
</ul>
</p>
</blockquote>



<HR>


<h2>●<A name="Material">Materialチャンク</A></h2>

<P>＜例＞</P>
<BLOCKQUOTE>
<PRE>new Material "MTL0"
  Specular            1.0 1.0 1.0
  SpecularReflectance 0.5 0.25 0.1
  Exponent            10 10

new Material "MTL1"
  Diffuse             1.0 1.0 1.0 &quot;block.png&quot;
  Normal              &quot;block_normal.png&quot;

new Material "MTL2"
  Volume              0 1
  IOR                 1 1.66
  Transparency        1.0 1.0 1.0

new Material "MTL3"
  Reflection          1.0 1.0 1.0 &quot;reflection.tif&quot;
  ReflectionIOR       20 10 5

new Material "MTL4"
  Volume              0 1
  Transparency        1.0 1.0 1.0

new Material "MTL5"
  Emission            100.0 100.0 100.0
</PRE>
</BLOCKQUOTE>

<P>　Materialチャンクは物体表面のマテリアルを記述する。&quot;new Material&quot;の後のダブルクォーテーションで囲まれた文字列がマテリアル名となる。マテリアル名は省略不可。ここで記述したマテリアル名は後述するオブジェクトファイルの読込のときに利用され、オブジェクトファイル内で同名のマテリアルが使用されたときに割り当てられる。Materialチャンクは以下のパラメータを持つ。パラメータの記述を省略した場合は初期値が適用される。</P>


<P>
<B><A name="#Material_Volume">■Volume</A></B><BR>
 値の型: "<ボリューム名>" "<ボリューム名>"<BR>
 デフォルト値: 最初に定義されたボリューム名 最初に定義されたボリューム名
</P>
<P>
　オブジェクトの表側のボリュームと裏側のボリュームのボリューム名を指定する。ひとつめが表側、２つめが裏側のボリュームである。光がこのマテリアルを透過する際に、ボリュームを切り換えるのに使う。マテリアルが割り当てられるオブジェクトが属するSpaceと、ボリュームに関連付けられているSpaceとは同じでなければならない。そうでない場合は"Transparency"が無効になる。
</P>

<P>
<B><A name="#Material_IOR">■IOR</A></B><BR>
 値の型: <実数> <実数><BR>
 デフォルト値: 1.0　1.0
</P>
<P>
　オブジェクトの表側と裏側のボリュームの絶対屈折率。スカラ値で指定する。鏡面反射・屈折は屈折率を用いたフレネル反射が行われるため、表裏の屈折率が同じだと完全に透過し、違いが大きいほど反射成分大きくなり、透過しにくくなる。"Jump"によってマテリアルの裏側が別の空間と繋がっている場合はその空間の絶対屈折率が使われる。
</P>


<P>
<B><A name="#Material_Transparency">■Transparency</A></B><BR>
 値の型: <0以上1以下の実数> <0以上1以下の実数> <0以上1以下の実数> "<画像ファイル名>"<BR>
 デフォルト値: 0.0 0.0 0.0 ""
</P>

<P align="center"><IMG src="material_crystal.png" width="320" height="240" border="0"><BR>
<B><FONT size="-1">完全鏡面反射・屈折</FONT></B></P>

<P>　透過係数。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。画像はオブジェクトにUVマッピングされる。この値が大きいほどマテリアルは薄く透き通るようになり、0で非透過、1で完全に透過になる。透過した光は前述の屈折率"IOR"に従って完全鏡面反射・屈折が計算されるので、ガラスや水のように反射屈折するマテリアルを作ることができる。</P>

<P>
<B><A name="#Material_Reflection">■Reflection</A></B><BR>
 値の型: <0以上1以下の実数> <0以上1以下の実数> <0以上1以下の実数> "<画像ファイル名>"<BR>
 デフォルト値: 0.0 0.0 0.0 ""
</P>

<P align="center"><IMG src="material_mirror.png" width="320" height="240" border="0"><BR>
<B><FONT size="-1">完全鏡面反射</FONT></B>
</P>

<P>　完全鏡面反射係数。鏡、金属、クリア塗装のような効果をマテリアルに与える。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。画像はオブジェクトにUVマッピングされる。ReflectionIORによるフレネル反射にこの値が乗算される。反射しなかった成分はSpecular, Diffuse, Emissionにかかる。</P>

<P><B><A name="#Material_Specular">■Specular</A></B><BR>
 値の型: <0以上1以下の実数> <0以上1以下の実数> <0以上1以下の実数> "<画像ファイル名>"<BR>
 デフォルト値: 0.0 0.0 0.0 ""
</P>

<P align="center"><IMG src="material_gloss.png" width="320" height="240" border="0"><BR>
<B><FONT size="-1">荒い鏡面反射</FONT></B></P>

<P>　荒い鏡面反射係数。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。画像はオブジェクトにUVマッピングされる。反射モデルはAnisotropic Phongモデル。</P>


<P><B><A name="#Material_Diffuse">■Diffuse</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>"<BR>
 デフォルト値: 0.0 0.0 0.0 ""
</P>

<P align="center"><IMG src="material_diffuse.png" width="320" height="240" border="0"><BR>
<B><FONT size="-1">拡散反射</FONT></B></P>

<P>　拡散反射係数。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。画像はオブジェクトにUVマッピングされる。拡散反射モデルはLambertモデル。</P>

<P><B><A name="#Material_Emission">■Emission</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>" "<画像ファイル名>" "<画像ファイル名>"<BR>
 デフォルト値: 0.0 0.0 0.0 "" "" ""
</P>

<P align="center"><IMG src="material_emission.png" width="320" height="240" border="0"><BR>
<B><FONT size="-1">発光</FONT></B></P>

<P>　発光放射輝度。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。画像ファイルは3つ指定し、最初の画像はオブジェクトにUVマッピングされるテクスチャである。２つ目の画像は光の放射分布を制御するマップで、法線方向を北極として半球状に緯度経度マッピングされる。３つ目の画像はポータルのような効果を作るためのもので、外光となる環境マップを指定する。この環境マップは天球光源に指定するものと同じくワールド座標系に緯度経度マッピングされる。発光放射輝度はこれらのマップの値を乗算した値となる。Emissionの値がSky LightやParallel Lightに比べて大きいとvidroが判定した場合、このマテリアルが割り当てられたオブジェクトからコースティクスフォトンが放射され、直接照明はシャドウレイによって計算されるようになる。</P>

<P>
<B><A name="#Material_ReflectionIOR">■ReflectionIOR</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 0.0
</P>

<P>
　完全鏡面反射における相対屈折率。RGB値で指定する。完全鏡面反射は屈折率を用いたフレネル反射が計算される。反射しなかった成分はDiffuse, Specular, Emissionにかけられる。
</P>

<P>
<B><A name="#Material_SpecularReflectance">■SpecularReflectance</A></B><BR>
 値の型: <0以上1以下の実数> <0以上1以下の実数> <0以上1以下の実数><BR>
 デフォルト値: 0.5 0.5 0.5
</P>
<P>　荒い鏡面反射における垂直入射の反射率。RGB値で指定する。荒い鏡面反射はこの値を基にフレネル反射の近似計算が行われる。</P>

<P>
<B><A name="#Material_Exponent">■Exponent</A></B><BR>
 値の型: <0以上の実数> <0以上の実数><BR>
 デフォルト値: 32 32
</P>
<P>　荒い鏡面反射の滑らかさ。接線方向の値と従法線方向の値をそれぞれ指定する（異方性反射）。この値が大きいほど物体表面は滑らかになり、小さいほど荒くなる。BRDFはAnisotropic Phongモデルであり、ここで設定した値が指数パラメタとして使われる。接線ベクトルは後述する"Axis"の値によって計算される。</P>

<P>
<B><A name="#Material_Axis">■Axis</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 1.0 0.0
</P>

<P>　異方性反射等で用いる接線ベクトルの回転軸ベクトル。このベクトルと法線ベクトルとの外積が接線ベクトルとなり、シェーディングで用いられる。</P>



<P>
<B><A name="#Material_Jump">■Jump</A></B><BR>
 値の型: "<マテリアル名>" "<マテリアル名>"<BR>
 デフォルト値: 現在のマテリアル名 現在のマテリアル名
</P>

<P align="center"><IMG src="dokodemo.png" width="320" height="240" border="0"><BR>
<B><FONT size="-1">どこでもドア</FONT></B></P>

<p>
完全鏡面透過が起こる際、"Jump"によって透過側が別空間へ繋がっているマテリアルを定義する。1つめのマテリアル名が面の裏側から表側へ透過する際のジャンプ先、2めのマテリアル名が表から裏へ透過する際のジャンプ先のマテリアルである。光が透過する際に、ここで指定したジャンプ先マテリアルが割り当てられたオブジェクト表面へ"ジャンプ"する。可換性はユーザ自身で保障する必要がある。
</p>


<P><B><A name="#Material_Normal">■Normal</A></B><BR>
 値の型: "<画像ファイル名>"<BR>
 デフォルト値: ""<P>
<P>　法線マップ画像。ここで指定した画像を法線マッピングに用いる。他の画像ファイルの読み込みと異なり、以下の式を用いて法線ベクトルに変換して読み込む。</P>

<BLOCKQUOTE>
	x = 2*R - 1<BR>
	y = 2*G - 1<BR>
	z = 2*B - 1
</BLOCKQUOTE>

<P>　尚、PNG,BMP,JPEG,GIF等のLDRIの場合、ガンマ補正は行わない。</P>

<P><B><A name="#Material_ViewToneMin">■ViewToneMin</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値:<br>
 0.0 0.0 0.0<br>
</P>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。"ViewTone"で変換する輝度の基準となる小さい方の値。
RGB値で指定する。ここで指定された輝度と"ViewToneMax"で指定された色を基準として輝度変換が行われる。
</P>

<P><B><A name="#Material_ViewToneMax">■ViewToneMax</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値:<br>
 1.0 1.0 1.0<br>
</P>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。"ViewTone"で変換する輝度の基準となる大きい方の値。
RGB値で指定する。ここで指定された輝度と"ViewToneMin"で指定された色を基準として輝度変換が行われる。
</P>


<P><B><A name="#Material_ViewTone">■ViewTone</A></B><BR>
 値の型: <実数> <実数> <実数> <実数> "<画像ファイル名>" <実数> <実数> <実数> "<画像ファイル名>"<BR>
 デフォルト値:<br>
 0.00 0.0 0.0 0.0 "" 0.0 0.0 0.0 ""<br>
 1.00 0.0 0.0 0.0 "" 1.0 1.0 1.0 ""
</P>

<CENTER>
<TABLE>
  <TBODY>
    <TR>
      <TD align="center">
	<a href="angel_pr.png"><img src="angel_pr_s.png" width="256" height="256"></a><br>
	  </TD>
      <TD align="center">
	<a href="angel_npr.png"><img src="angel_npr_s.png" width="256" height="256"></a><br>
    </TR>
    <TR>
      <TD align="center">
	<img src="rb_tone_pr.png" width="320" height="240">
	  </TD>
      <TD align="center">
	<img src="rb_tone_npr.png" width="320" height="240">
	  </TD>
    </TR>
    <TR>
      <TD align="center">
	<font size="-1"><b>Photorealistic Rendering</b></font></TD>
      <TD align="center">
	<font size="-1"><b>Non-Photorealistic Rendering</b></font></TD>
    </TR>
  </TBODY>
</TABLE>
</CENTER>
<p align="center">
<img src="p2_npr2.png" width="512" height="512"><br>
<font size="-1"><b>Non-Photorealistic Rendering</b></font>
</p>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。ここで物体表面の輝度を指定された値に変換する。
記述の仕方はVolumeでの"ViewTone"や"LightingTone"と同じである。最初の実数が変換前の輝度の基準値で、"ViewToneMin"と"ViewToneMax"で指定された輝度との間でこの値に基づいて線形補間された輝度が変換対象の色として選択される。
次に、NPRの重みをRGB値と画像ファイルで指定する。
画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込まれる。
この値が0に近いとフォトリアルに近づき、1に近いとNPRに近づく。0.5だと半々の値が出力される。
次に変換後の輝度値をRGB値と画像ファイル名で指定する。
同じように画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込まれる。
これらの画像は出力画像上の座標ににマッピングされる。
"ViewTone"は輝度毎に設定する必要があり、複数行に渡って記述される。
記述する順番は最初の実数の値が小さい順で記述されなければならない。
デフォルト値はアニメ調のNPR変換が行われる。
LightingToneとの違いはLightingToneが入射光のみにNPR変換が行われるのに対し、"ViewTone"はそのサーフェスにおける最終的な輝度値にNPR変換が行われる点である。
</P>

<P><B><A name="#Material_LightingToneMin">■LightingToneMin</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値:<br>
 0.0 0.0 0.0<br>
</P>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。"LightingTone"で変換する輝度の基準となる小さい方の値。
RGB値で指定する。ここで指定された輝度と"LightingToneMax"で指定された色を基準として輝度変換が行われる。
</P>

<P><B><A name="#Material_LightingToneMax">■LightingToneMax</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値:<br>
 2.0 2.0 2.0<br>
</P>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。"LightingTone"で変換する輝度の基準となる大きい方の値。
RGB値で指定する。ここで指定された輝度と"LightingToneMin"で指定された色を基準として輝度変換が行われる。
</P>


<P><B><A name="#Material_LightingTone">■LightingTone</A></B><BR>
 値の型: <実数> <実数> <実数> <実数> "<画像ファイル名>" <実数> <実数> <実数> "<画像ファイル名>"<BR>
 デフォルト値:<br>
 0.00 1.0 1.0 1.0 "" 0.5 0.5 0.5 ""<br>
 1.00 1.0 1.0 1.0 "" 1.5 1.5 1.5 ""<br>
</P>

<center>
<table>
    <tr>
	<td align="center">
		<a href="T360_pr.png"><img src="T360_pr_s.png" width="320" height="240"></a><br>
		<font size="-1"><b>Photorealistic Rendering</b></font>
	</td>
	<td align="center">
		<a href="T360_npr.png"><img src="T360_npr_s.png" width="320" height="240"></a><br>
		<font size="-1"><b>Non-photorealistic Rendering</b></font>
	</td>
    </tr>
</table>
</center>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。ここで物体表面の入射光を指定された値に変換する。
記述の仕方は"ViewTone"と同じである。最初の実数が変換前の輝度の基準値で、"LightingToneMin"と"LightingToneMax"で指定された輝度との間でこの値に基づいて線形補間された輝度が変換対象の色として選択される。
次に、NPRの重みをRGB値と画像ファイルで指定する。
画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込まれる。
この値が0に近いとフォトリアルに近づき、1に近いとNPRに近づく。0.5だと半々の値が出力される。
次に変換後の輝度の値をRGB値と画像ファイル名で指定する。
同じように画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込まれる。
これらの画像は出力画像上の座標ににマッピングされる。
LightingToneは輝度毎に設定する必要があり、複数行に渡って記述される。
記述する順番は最初の実数の値が小さい順で記述されなければならない。
"ViewTone"との違いは"ViewTone"がテクスチャや他のライティングを含めたそのサーフェスにおける最終的な輝度値にNPR変換が行われるのに対し、
LightingToneは入射光のみにNPR変換が行われる点である。
</P>


<P><B><A name="#Material_ContourColor">■ContourColor</A></B><BR>
 値の型: <実数> <実数> <実数> "<画像ファイル名>"<BR>
 デフォルト値: 0.0 0.0 0.0 ""

<P align="center"><IMG src="BEETLE_POLIZEI_NPR.png" width="512" height="512" border="0"><BR>
<B><FONT size="-1">ContourColor</FONT></B></P>

</P>
　輪郭線の色。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。
<p>

</p>

<P><B><A name="#Material_ContourGroup">■ContourGroup</A></B><BR>
 値の型: <0以上の整数><BR>
 デフォルト値: 0</P>

<center>
<table>
    <tr>
	<td align="center">
		<img src="woman_contour081209.png" width="256" height="256"><br>
		<font size="-1"><b>Default</b></font>
	</td>
	<td align="center">
		<img src="woman_contour081210.png" width="256" height="256"><br>
		<font size="-1"><b>Using ContourGroup</b></font>
	</td>
    </tr>
</table>
</center>


<P>
　このマテリアルが属する輪郭線のグループID。マテリアル境界の輪郭線を描きたくない部分がある場合にこの値を設定する。扱い方は3DSフォーマットのスムージンググループと同じ要領で、この番号を2進数で表現したときに共に1となる桁のあるグループIDを持つマテリアルとの間にはマテリアル境界の輪郭線が描かれない。デフォルト値は0で、全てのマテリアル境界の輪郭線が描かれる。
　</P>

<P><B><A name="#Material_Boundary">■Boundary</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>"<BR>
 デフォルト値: 1.0 1.0 1.0 ""
</P>

<p align="center">
<img src="T360_textured_contour0.png" width="640" height="480"><br>
<font size="-1"><b>Textured Contour</b></font>
</p>

<p>
　マテリアル境界線の濃さ。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。
</p>

<P><B><A name="#Material_Crease">■Crease</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>"<BR>
 デフォルト値: 1.0 1.0 1.0 ""
</P>

<p>
　クリース線の濃さ。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。
</p>

<P><B><A name="#Material_Background">■Background</A></B><BR>
 値の型: <0 or 1 or 2><BR>
 デフォルト値: 0</P>

<center>
<table>
    <tr>
	<td align="center">
		<img src="dragon_nobg2.png" width="320" height="240">
	</td>
	<td align="center">
		<img src="dragon_bg2.png" width="320" height="240">
	</td>
	<td align="center">
		<img src="dragon_bg_illum2.png" width="320" height="240">
	</td>
    </tr>
    <tr>
	<td align="center" valign="top">
		<font size="-1"><b>Original Image</b></font>
	</td>
	<td align="center" valign="top">
		<font size="-1"><b>Using "Background 1"</b></font>
	</td>
	<td align="center" valign="top">
		<font size="-1"><b>Using "Background 2"<br></b></font>
	</td>
    </tr>
</table>
</center>

<P>　このマテリアルに背景画像を合成するか否か。背景合成時に、この値が0ならそのまま表示され、1ならこのマテリアルが割り当てられたオブジェクトは背景画像に置き換わり、2なら背景画像に照明を合成して表示する。デフォルト値は0で、このマテリアルは背景とならない。合成用の照明は、背景が同一ボリューム内の天球光源・平行光源・点光源によって照らされていると仮定して計算される。</P>

<HR>

<h2>●<A name="Space">Spaceチャンク</A></h2>

<P>　Spaceチャンクではシーン内の空間についての記述を行う。Spaceチャンクは複数のVolumeチャンクと複数のObjectチャンクを子に持つ。Spaceチャンクは複数記述でき、マテリアルの"Jump"によって相互に連結できる。</P>

<HR>

<h2>●<A name="Volume">Volumeチャンク</A></h2>

<P>＜例＞</P>
<BLOCKQUOTE>
<PRE>new Space "spc"

  new Volume "vol0"
    SkyLight   1.0 1.0 1.0 &quot;grace.hdr&quot;

  new Volume "vol1"
    Origin        0.0  0.05 0.5
    Size          0.1  0.1  0.1
    Extinction    10.0 0.0  5.0
    Anisotropy    0.5

  new Volume "vol2"
    Origin        0.1 0.02 0.5
    Size          0.1 0.2  0.1
    Extinction    1.0 1.0 1.0 &quot;body&quot;
    Albedo        0.5 0.5 0.5</PRE>
</BLOCKQUOTE>

<P>　Volumeチャンクでは空間中の媒質、光源、視点についての情報を記述する。"new Volume"の後のダブルクォーテーションで囲まれた文字列がボリューム名となる。ボリューム名は省略不可。Volumeチャンクは以下のパラメータを持つ。パラメータの記述を省略した場合は初期値が適用される。また、VolumeチャンクはPointLightチャンク, ParallelLightチャンク, Eyeチャンクを子に持つ。</P>

<P><B><A name="#Volume_SkyLight">■SkyLight</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>" <BR>
 デフォルト値: 0.0 0.0 0.0 ""</P>

<P align="center"><IMG src="rnl.png" width="320" height="160" border="0"><BR>
<B><FONT size="-1">緯度経度マッピング</FONT></B></P>

<P>
　天球光源の発光放射輝度(環境マップ)。RGB値と環境マップの画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。画像は縦軸を緯度、横軸を経度とし、Y軸を地軸、XZ平面を赤道として天球にマッピングされる。
</P>

<P><B><A name="#Volume_ViewToneMin">■ViewToneMin</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値:<br>
 0.0 0.0 0.0<br>
</P>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。"ViewTone"で変換する輝度の基準となる小さい方の値。
RGB値で指定する。ここで指定された輝度と"ViewToneMax"で指定された色を基準として輝度変換の指標となる。
</P>

<P><B><A name="#Volume_ViewToneMax">■ViewToneMax</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値:<br>
 1.0 1.0 1.0<br>
</P>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。"ViewTone"で変換する輝度の基準となる大きい方の値。
RGB値で指定する。ここで指定された輝度と"ViewToneMin"で指定された色を基準として輝度変換が行われる。
</P>

<P><B><A name="#Volume_ViewTone">■ViewTone</A></B><BR>
 値の型: <実数> <実数> <実数> <実数> "<画像ファイル名>" <実数> <実数> <実数> "<画像ファイル名>"<BR>
 デフォルト値:<br>
 0.00 0.0 0.0 0.0 "" 0.0 0.0 0.0 ""<br>
 1.00 0.0 0.0 0.0 "" 1.0 1.0 1.0 ""<br>
</P>

<P>
　ノンフォトリアリスティックレンダリング(NPR)用の設定。ここで天球光源の輝度を指定された値に変換する。
記述の仕方はMaterialでの"ViewTone"や"LightingTone"と同じである。最初の実数が変換される輝度の基準となる値で、"ViewToneMin"と"ViewToneMax"で指定された輝度との間で
この値に基づいて線形補間された輝度が変換対象の色として選択される。
次に、NPRの寄与をRGB値と画像ファイルで指定する。
画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込まれる。
この値が0に近いとフォトリアルに近づき、1に近いとNPRに近づく。0.5だと半々の値が出力される。
次に変換される輝度の値をRGB値と画像ファイル名で指定する。
同じように画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込まれる。
これらの画像は出力画像上の座標ににマッピングされる。
"ViewTone"は輝度毎に設定する必要があり、複数行に渡って記述される。
記述する順番は最初の実数の値が小さい順で記述されなければならない。
デフォルト値はフォトリアリスティックレンダリングの重みが(0.0, 0.0 0.0)なのでNPR変換は行われない。
</P>


<P><B><A name="#Volume_ContourColor">■ContourColor</A></B><BR>
 値の型: <実数> <実数> <実数> "<画像ファイル名>"<BR>
 デフォルト値: 0.0 0.0 0.0 ""

</P>
　天球光源の輪郭線の色。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。
<p>

<P><B><A name="#Volume_ContourGroup">■ContourGroup</A></B><BR>
 値の型: <0～4294967295の整数><BR>
 デフォルト値: 0</P>

<P>　この天球光源が属する輪郭線のグループID。マテリアル境界の輪郭線を描きたくない部分がある場合にこの値を設定する。扱い方は3DSフォーマットのスムージンググループやWarabiのマテリアルグループと同じ要領で、この番号を2進数で表現したとき、共に1となるビットのあるグループIDを持つマテリアルとの間にはマテリアル境界の輪郭線が描かれない。デフォルト値は0で、全てのマテリアル境界の輪郭線が描かれる。</P>

<P><B><A name="#Volume_Boundary">■Boundary</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>"<BR>
 デフォルト値: 1.0 1.0 1.0 ""

</P>
　天球光源のマテリアル境界線の濃さ。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。
<p>

<P><B><A name="#Volume_Background">■Background</A></B><BR>
 値の型: <0 or 1><BR>
 デフォルト値: 1</P>

<P>　この天球光源に背景画像を合成するか否か。背景合成時に、この値が1ならば天球光源は背景画像に置き換わる。0ならばそのまま表示される。デフォルト値は1で、天球光源は背景となる。</P>


<P><B><A name="#Volume_Anisotropy">■Anisotropy</A></B><BR>
 値の型: <-1より大きく1より小さい実数><BR>
 デフォルト値: 0.0</P>

<P>　媒質中の散乱の異方性の強さ。0より大きいと前方散乱、0より小さいと後方散乱、0で等方散乱。位相関数モデルはSchlickのモデル。</P>


<P><B><A name="#Volume_HomogeneousExtinction">■HomogeneousExtinction</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数><BR>
 デフォルト値: 0.0 0.0 0.0</P>

<P>　ボリューム内全領域のパーティシペイティングメディアの消滅係数。RGB値で指定する。消滅係数とは媒質の濃さであり、この値が大きいほど光は媒質中で大きく減衰する。霧、煙、濁った水、宝石、色ガラス等を表現できる。</P>

<P><B><A name="#Volume_HomogeneousAlbedo">■HomogeneousAlbedo</A></B><BR>
 値の型: <0以上1以下の実数> <0以上1以下の実数> <0以上1以下の実数><BR>
 デフォルト値: 0.0 0.0 0.0</P>

<P>　ボリューム内全領域のパーティシペイティングメディアの散乱アルベド。RGB値で指定する。散乱アルベドとは作用点で光が散乱する割合であり、この値が大きいほど光は媒質中で強く散乱する。0だと宝石や色ガラスのように透きとおった媒質となり、大きいと霧など濁った媒質となる。</P>



<P><B><A name="#Volume_Extinction">■Extinction</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<フォルダ名>"<BR>
 デフォルト値: 0.0 0.0 0.0 ""</P>

<P>　局所的で不均質なパーティシペイティングメディアの消滅係数。RGB値とフォルダ名で指定する。フォルダ名が省略されていればRGB値がそのまま使われ、フォルダ名が指定してあればそのフォルダ中の全ての画像ファイルをABC順で読み込む。画像は3次元グリッドにマッピングされ、不均質な消滅係数の分布を表わす。消滅係数とは媒質の濃さであり、この値が大きいほど光は媒質中で大きく減衰する。霧、煙、濁った水、宝石等を表現できる。</P>

<P><B><A name="#Volume_Albedo">■Albedo</A></B><BR>
 値の型: <0以上1以下の実数> <0以上1以下の実数> <0以上1以下の実数> "<フォルダ名>"<BR>
 デフォルト値: 0.0 0.0 0.0 ""</P>

<P>　局所的で不均質なパーティシペイティングメディアの散乱アルベド。RGB値とフォルダ名で指定する。フォルダ名が省略されていればRGB値がそのまま使われ、フォルダ名が指定してあればそのフォルダ中の全ての画像ファイルをABC順で読み込む。画像は3次元グリッドにマッピングされ、不均質な散乱アルベドの分布を表わす。散乱アルベドとは作用点で光が散乱する割合であり、この値が大きいほど光は媒質中で強く散乱する。0だと宝石や色ガラスのように透きとおった媒質となり、大きいと霧など濁った媒質となる。</P>

<P><B><A name="#Volume_Origin">■Origin</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 0.0</P>

<P>　局所的で不均質なパーティシペイティングメディアの原点座標。パーティシペイティングメディアのバウンディングボックスの小さい方の点。</P>

<P><B><A name="#Volume_Size">■Size</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 0.0</P>

<P>　局所的で不均質なパーティシペイティングメディアのバウンディングボックスの大きさ(XYZ)。</P>

<center>
<table>
    <tr>
	<td align="center">
		<IMG src="beam_estimate_vpm.png" width="320" height="240" border="0"><br>
		<font size="-1"><b>Homogeneous Medium</b></font>
	</td>
	<td align="center">
		<a href="head.png"><IMG src="head_s.png" width="320" height="240" border="0"></a><br>
		<font size="-1"><b>Inhomogeneous Medium</b></font>
	</td>
    </tr>
</table>
</center>




<HR>

<h2>●<A name="PointLight">PointLightチャンク</h2>

<P>＜例＞</P>
<BLOCKQUOTE>
<PRE>new Volume "vol"

  new PointLight "light0"
    Intensity 1.2 1.2 1.2
    Position  1.0 0.5 -1.0

  new PointLight "light1"
    Intensity 1.0 1.0 1.0 &quot;spot.png&quot;
    Position  0.2 0.75 -0.3
    X         0.95782626 -0.22987832  0.17240873
    Y         0.28734788  0.76626104 -0.57469577
    Z         0.00000000  0.60000000  0.80000000</PRE>
</BLOCKQUOTE>


<P>　PointLightチャンクでは点光源の記述を行う。点光源とはある１点から光を放射する光源である。PointLightチャンクは以下のパラメータを持つ。パラメータを省略した場合は初期値が適用される。ここで設定した点光源は直前に記述されたVolumeチャンクに配置される。</P>

<P>
<B><A name="#PointLight_Intensity">■Intensity</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>"<BR>
 デフォルト値: 1.0 1.0 1.0 ""
</P>

<P align="center"><IMG src="PointLight01.png" width="320" height="240" border="0"> <IMG src="spotlight.png" width="320" height="240" border="0"></P>


<P>　点光源の放射強度。RGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。画像は縦軸を緯度、横軸を経度とし、Y軸を地軸、XZ平面を赤道として放射方向を表わす球面状にマッピングされる。画像をマッピングすることで走馬灯やスポットライトのような光源を作ることが出来る。</P>

<P>
<B><A name="#PointLight_Position">■Position</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 0.0
</P>

<P>　点光源のワールド座標系での位置。</P>

<P><B><A name="#PointLight_X">■X</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 1.0 0.0 0.0
</P>

<P>　点光源のワールド座標系でのX軸ベクトル。回転等の変換で使う。</P>

<P><B><A name="#PointLight_Y">■Y</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 1.0 0.0
</P>

<P>　点光源のワールド座標系でのY軸ベクトル。回転等の変換で使う。</P>

<P><B><A name="#PointLight_Z">■Z</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 1.0
</P>

<P>　点光源のワールド座標系でのZ軸ベクトル。回転等の変換で使う。</P>


<HR>

<h2>●<A name="ParallelLight">ParallelLightチャンク</h2>

<P>＜例＞</P>

<BLOCKQUOTE>
<PRE>new Volume "vol"

  new ParallelLight "light0"
    Emission  0.5 0.5 1.0

  new ParallelLight "light1"
    Emission   1.0 1.0 1.0 &quot;water.png&quot;
    Direction -1.0 1.0 1.0
    Size       3.0
</PRE>
</BLOCKQUOTE>

<P>　ParallelLightチャンクでは平行光源の記述を行う。平行光源とはある方向に平行に光が降り注ぐ光源である。PointLightチャンクは以下のパラメータを持つ。パラメータの記述を省略した場合は初期値が適用される。ここで設定した並行光源は点光源と同様に直前に記述されたVolumeチャンクに配置される。</P>


<P>
<B><A name="#ParallelLight_Emission">■Emission</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>"<BR>
 デフォルト値: 1.0 1.0 1.0 ""
</P>

<P align="center"><IMG src="parallellight_dragon.png" width="384" height="240" border="0"></P>

<P>　光源の明るさ。RGB値と画像ファイル名でRGB値と画像ファイル名で指定する。画像ファイルが省略されていればRGB値がそのまま使われ、画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。この値は放射発散度を円周率で割ったものである。</P>


<P>
<B><A name="#ParallelLight_Position">■Position</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 0.0
</P>

<P>　入射位置。光が降り注ぐ領域の中心座標。</P>

<P>
<B><A name="#ParallelLight_Direction">■Direction</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 1.0 1.0 1.0
</P>

<P>　入射方向ベクトル。この方向の無限遠に光源が存在する。</P>

<P>
<B><A name="#ParallelLight_Upside">■Upside</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 1.0 0.0
</P>

<P>　上方向ベクトル。この方向を基準に光源の上方向ベクトルが決まる。</P>

<P>
<B><A name="#ParallelLight_Size">■Size</A></B><BR>
 値の型: <0より大きい実数><BR>
 デフォルト値: &infin;
</P>

<P>　入射領域の大きさ。画像をマッピングする場合は指定する必要がある。</P>


<HR>

<h2>●<A name="Eye">Eyeチャンク</h2>

<P>＜例＞</P>
<BLOCKQUOTE>
<PRE>new Volume "vol"

  new Eye
    Position    0.0  0.3  0.0
    Focus       0.0  0.2 -0.6
    FocalLength 0.035
    FocalRatio  1.8
    Bokeh       1.0 1.0 1.0 &quot;circle.png&quot;</PRE>
</BLOCKQUOTE>

<P>Eyeチャンクでは眼(カメラ)の記述を行う。Eyeチャンクは以下のパラメータを持つ。パラメータの記述を省略した場合は初期値が適用される。このチャンクが存在しない場合、Eyeは読み込んだモデルに応じて適当に作られる。ここで設定した眼は、並行光源や点光源と同様に直前に記述されたVolumeチャンクに配置される。
</P>

<P><B><A name="Eye_Position">■Position</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 0.0
</P>

<P>　視点の座標(X, Y, Z)。</P>

<P><B><A name="Eye_Focus">■Focus</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 -&infin;</P>

<P>　注視点の座標(X, Y, Z)。被写界深度が有効な場合、この位置に焦点が合う。</P>

<P><B><A name="Eye_Upside">■Upside</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 1.0 0.0</P>

<P>　上方向ベクトル(X, Y, Z)。ここで指定した方向を基準にビューアの上方向が決まる。上方向ベクトル<I><B>U</B></I>、視点を<I><B>P</B></I>、注視点を<I><B>Q</B></I>とすると、眼のローカル座標系の基底ベクトル<I><B>e<FONT size="-2">x</FONT></B></I>, <I><B>e<FONT size="-2">y</FONT></B></I>, <I><B>e<FONT size="-2">z</FONT></B></I>は以下の式で求まる。

<BLOCKQUOTE>
	<I><B>e<FONT size="-2">z</FONT></B></I> = (<I><B>P</B></I> - <I><B>Q</B></I>) / ||<I><B>P</B></I> - <I><B>Q</B></I>||<BR>
	<I><B>e<FONT size="-2">x</FONT></B></I> = (<I><B>U</B></I> &times <I><B>e<FONT size="-2">z</FONT></B></I>) / ||<I><B>U</B></I> &times <I><B>e<FONT size="-2">z</FONT></B></I>||<BR>
	<I><B>e<FONT size="-2">y</FONT></B></I> = (<I><B>e<FONT size="-2">z</FONT></B></I> &times <I><B>e<FONT size="-2">x</FONT></B></I>) / ||<I><B>e<FONT size="-2">z</FONT></B></I> &times <I><B>e<FONT size="-2">x</FONT></B></I>||
</BLOCKQUOTE>

　上記の式からわかるように、"Upside"で指定するベクトルは"Position"と"Focus"で結ばれる直線と異なる方向でなければならない。</P>

<P><B><A name="Eye_Clip">■Clip</A></B><BR>
 値の型: <実数><BR>
 デフォルト値: 0.0</P>

<P>　前方クリッピングを行う距離。視点からここで指定した距離以内の物体は無視する。負の値を指定した場合は視点後方の物体も描画され、その像は逆遠近となる。</P>

<P><B><A name="Eye_FilmSize">■FilmSize</A></B><BR>
 値の型: <0より大きい実数><BR>
 デフォルト値: 0.024</P>

<P>　投影面の縦の長さ。この値と"FocalLength"の比で画角が決定する。この値が大きいほど広角になり、小さいほど望遠になる。ただし画角の調整では主に"FocalLength"の方の値を変えることの方が一般的である。一般にカメラで使われる35mmフィルムの露光面の長さは24mmなので、0.024(単位系はメートルを仮定)をデフォルト値としている。</P>

<P><B><A name="Eye_FocalLength">■FocalLength</A></B><BR>
 値の型: <0より大きい実数><BR>
 デフォルト値: 0.050</P>

<P>　レンズの焦点距離。この値と"FilmSize"の比で画角が決定する。この値が大きいほど望遠になり、小さいほど広角になる。一般にカメラで使われているレンズの場合、35mmフィルム換算で標準レンズに50mmが使われることが多いようなので、0.050(単位系はメートルを仮定)をデフォルト値としている。</P>

<P><B><A name="Eye_FocalRatio">■FocalRatio</A></B><BR>
 値の型: <0より大きい実数><BR>
 デフォルト値: +&infin;</P>

<P>　F値。この値によってレンズの口径が決定する。レンズの口径<I>D</I>とF値<I>F</I>との関係は、焦点距離<I>f</I>を用いて以下の式で与えられる。

<BLOCKQUOTE>
	<I>F</I> = <I>f</I> / <I>D</I>
</BLOCKQUOTE>

　レンズの口径が大きいほど被写界深度のボケは大きくなる。従ってF値が小さいほどボケは大きくなる。この項目を省略した場合ピンホールカメラとなり、全てにピントがあったボケのないレンダリングを行う。<BR>尚、実際のカメラではF値が小さいほど明るくなるが、vidroでは正規化されるので明るさは変わらない。</P>

<P><B><A name="Eye_Bokeh">■Bokeh</A></B><BR>
 値の型: <0以上の実数> <0以上の実数> <0以上の実数> "<画像ファイル名>"<BR>
 デフォルト値: 1.0 1.0 1.0 ""</P>

<CENTER>
<TABLE>
  <TBODY>
    <TR>
      <TD align="center"><IMG src="dof_circle2.png" width="320" height="240" border="0"> <IMG src="circle.png" width="64" height="64" border="0"><BR>
      <B><FONT size="-1">丸絞りの被写界深度</FONT></B></TD>
      <TD align="center"><IMG src="dof_hexagon2.png" width="320" height="240" border="0"> <IMG src="hexagon.png" width="64" height="64" border="0"><BR>
      <B><FONT size="-1">六角絞りの被写界深度</FONT></B></TD>
    </TR>
  </TBODY>
</TABLE>
</CENTER>


<P>　ボケ像。RGB値と画像ファイル名で指定する。画像ファイルが指定してあればその画像にRGB値を乗算して読み込む。ボケ像に画像ファイルを指定することでvidroでは任意のボケ像を持った被写界深度のレンダリングを行うことができる。尚、画像ファイルが省略されていれば自動的に丸絞りになる。ピンホールカメラのときは、このパラメータは意味を持たない。</P>


<P><B><A name="Eye_Distortion">■Distortion</A></B><BR>
 値の型: <実数><BR>
 デフォルト値: 1.0</P>

<p align="center">
<img src="distortion_0.0.png" width="320" height="240"></a><br>
<font size="-1"><b>Distortion 0.0<br>(Equidistant Projection)</b></font><br>
<br>
<img src="distortion_0.5.png" width="320" height="240"></a><br>
<font size="-1"><b>Distortion:0.5<br>(Stereographic Projection)</b></font><br>
<br>
<img src="distortion_1.0.png" width="320" height="240"></a><br>
<font size="-1"><b>Distortion 1.0<br>(Perspective Projection)</b></font><br>
<br>
<img src="distortion_1.5.png" width="320" height="240"></a><br>
<font size="-1"><b>Distortion 1.5</b></font><br>
<br>
<img src="distortion_2.0.png" width="320" height="240"></a><br>
<font size="-1"><b>Distortion 2.0</b></font><br>
<br>
</p>

<p>
　歪曲。1より大きいと糸巻型に歪曲し、1より小さいと樽型に歪曲する。vidroでは眼の投影モデルに以下の式を置いている。
</p>

<blockquote>
d > 0: r = f tan(d&theta;)/d<br>
d = 0: r = f &theta;<br>
d < 0: r = f sin(d&theta;)/d
</blockquote>

<p>
ここでfは焦点距離、&theta;は光軸に対する角度、rは投影面上の位置、そしてdはこのパラメータである。d=1.0で通常の透視投影(Perspective Projection)、d=0.5で立体射影(Stereographic Projection)、d=0.0で等距離射影(Equidistant Projection)、d=-0.5で等立体角射影(Equal Erea Projection)、d=-1.0で正射影(Orthographic Projection)となり、dが小さくなるほど魚眼の効果が強くなる。
</p>

</p>

<P><B><A name="Eye_LensTilt">■LensTilt</A></B><BR>
 値の型: <-90&deg;より大きく90&deg;より小さい実数> <-90&deg;より大きく90&deg;より小さい実数><BR>
 デフォルト値: 0.0 0.0</P>

<P>　レンズの傾き。横方向の傾きと縦方向の傾きの角度を指定する。レンズを傾かせることで被写界深度が歪む。複数の深度の異なる物体にフォーカスを当てたい時、あるいは同じ深度の物体からフォーカスを外したい時に用いる。"Distortion"が1でないときは煽り効果も入る。</P>

<P><B><A name="Eye_FilmTilt">■FilmTilt</A></B><BR>
 値の型: <-90&deg;より大きく90&deg;より小さい実数> <-90&deg;より大きく90&deg;より小さい実数><BR>
 デフォルト値: 0.0 0.0</P>

<P>　投影面の傾き。横方向の傾きと縦方向の傾きの角度を指定する。投影面を傾かせることで煽り効果を入れることができる。さらに被写界深度が有効ならば被写界深度も歪む。"LensTilt"と異なり、フォーカスの位置は画面中心からずれない。</P>

<P><B><A name="Eye_Oblique">■Oblique</A></B><BR>
 値の型: <実数> <実数><BR>
 デフォルト値: 0.0 0.0</P>

<p align=center>
<img src="cabinet_projection.png" width="960" height="240"><br>
<font size="-1"><b>Cabinet Projection</b></font>
</p>

<p>
　斜投影の強さ。横方向のと縦方向の強さを指定する。斜投影の角度を&theta;、奥行きの縮尺を&alpha;とするとき、横方向の強さX,縦方向の強さYは以下の式で表される。
</p>

<blockquote>
X = &alpha;cos&theta;<br>
Y = &alpha;sin&theta;
</blockquote>

<p>
従って、例えばキャビネット投影法(&theta;=45&deg;,&alpha;=0.5)を用いたい場合、<br>
投影法のタイプを平行投影にし、以下のように記述する。
</p>

<blockquote>
Oblique 0.353553391 0.353553391
</blockquote>

<p>
また、キャバリエ投影法(&theta;=45&deg;,&alpha;=1.0)の場合では、<br>
投影法のタイプを平行投影にし、以下のように記述する。
</p>

<blockquote>
Oblique 0.707106781 0.707106781
</blockquote>

<P><B><A name="Eye_Shift">■Shift</A></B><BR>
 値の型: <実数> <実数><BR>
 デフォルト値: 0.0 0.0</P>

<P>　画面の移動量。横方向の移動量と縦方向の画面の高さに対する移動量を指定する。1ならば1画面分の移動となる。透視投影のとき、この値を指定することで煽り効果を入れる事ができる。</P>

<HR>

<h2>●<A name="Object">Objectチャンク</h2>

<P>＜例＞</P>
<BLOCKQUOTE>
<PRE>new Space "spc"

  new Object "obj0"
    File     &quot;bunny.obj&quot;
    Material "MTL1"
    Position -0.8 0.0 0.0

  new Object "obj1"
    File     &quot;happybuddha.obj&quot;
    Material "MTL2"
    Position 1.2 0.0 0.0
    X        0.0 1.0 0.0
    Y        1.0 0.0 0.0
    Z        0.0 0.0 1.0</PRE>
</BLOCKQUOTE>

<P>　ObjectチャンクではSpaceチャンクに含まれる物体の記述を行う。Objectチャンクは以下のパラメータを持つ。パラメータの記述を省略した場合は初期値が適用される。</P>

<P><B><A name="#Object_File">■File</A></B><BR>
 値の型: "<オブジェクトファイル名>"<BR>
 デフォルト値: ""</P>

<P>　読み込むオブジェクトファイルの名前。読み込めるオブジェクトファイルはFBX, MQO, 3DS, LWO, OBJ, DXF, COLLADA形式。ファイル名は必ず指定する必要があり、省略できない。</P>

<P><B><A name="#Object_Material">■Material</A></B><BR>
 値の型: "<マテリアル名>"<BR>
 デフォルト値: 最初に定義されたマテリアルの名前
</P>

<P>　このオブジェクトに割り当てるマテリアルのデフォルトの名前。オブジェクトファイルがマテリアルデータを持たない、あるいは無効なマテリアルだった場合にこのマテリアルが使われる。デフォルト値は最初に定義されたマテリアルの名前だが、ひとつもマテリアルが定義されていないなら拡散反射率0.5のマテリアルが使われる。</P>

<P><B><A name="#Object_Position">■Position</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 0.0
</P>

<P>　このオブジェクトのワールド座標系での位置。</P>

<P><B><A name="#Object_X">■X</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 1.0 0.0 0.0
</P>

<P>　このオブジェクトのワールド座標系でのX軸のベクトル。拡大、縮小、回転等の変形に用いる。</P>

<P><B><A name="#Object_Y">■Y</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 1.0 0.0
</P>

<P>　このオブジェクトのワールド座標系でのY軸のベクトル。拡大、縮小、回転等の変形に用いる。</P>

<P><B><A name="#Object_Z">■Z</A></B><BR>
 値の型: <実数> <実数> <実数><BR>
 デフォルト値: 0.0 0.0 1.0
</P>

<P>　このオブジェクトのワールド座標系でのZ軸のベクトル。拡大、縮小、回転等の変形に用いる。</P>

<P>　実際には、<I><B>X</B></I>=(<I>x0</I>, <I>x1</I>, <I>x2</I>), <I><B>Y</B></I>=(<I>y0</I>, <I>y1</I>, <I>y2</I>), <I><B>Z</B></I>=(<I>z0</I>, <I>z1</I>, <I>z2</I>), <I><B>Position</B></I>=(<I>p0</I>, <I>p1</I>, <I>p2</I>)と置くと、オブジェクトファイル内の座標値は以下の変換行列でアフィン変換が行われる。</P>

<BLOCKQUOTE>
<TABLE>
  <TBODY>
    <TR>
      <TD><I>x0</I></TD><TD><I>y0</I></TD><TD><I>z0</I></TD><TD><I>p0</I></TD>
    </TR>
    <TR>
      <TD><I>x1</I></TD><TD><I>y1</I></TD><TD><I>z1</I></TD><TD><I>p1</I></TD>
    </TR>
    <TR>
      <TD><I>x2</I></TD><TD><I>y2</I></TD><TD><I>z2</I></TD><TD><I>p2</I></TD>
    </TR>
    <TR>
      <TD>0</TD><TD>0</TD><TD>0</TD><TD>1</TD>
    </TR>
  </TBODY>
</TABLE>
</BLOCKQUOTE>



</BODY>
</HTML>
